এক্সটিজেএস হলো একটি জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক, যা সমৃদ্ধ ইন্টারেক্টিভ ওয়েব অ্যাপ্লিকেশন (Rich Internet Applications বা RIA) তৈরি করতে ব্যবহৃত হয়। এটি মূলত Sencha কোম্পানি দ্বারা তৈরি এবং উন্নত করা হয়। ExtJS-এর সাহায্যে ডেভেলপাররা ডেক্সটপ অ্যাপ্লিকেশনের মতো দেখতে ও কাজ করা ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন। এটি একটি component-based ফ্রেমওয়ার্ক, যা বিভিন্ন UI উপাদান সহজেই তৈরি ও পরিচালনা করতে দেয়।
ExtJS হলো একটি জাভাস্ক্রিপ্ট ভিত্তিক ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক, যা মূলত ডাটা-ইন্টেনসিভ এবং এন্টারপ্রাইজ লেভেলের ওয়েব অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। ExtJS এর মাধ্যমে রিচ ইন্টারফেস এবং ডেটা-ভিত্তিক অ্যাপ্লিকেশন তৈরি করা যায়, যা ডেস্কটপ বা মোবাইল ডিভাইসে ব্যবহার করা যায়। ExtJS এর প্রধান বৈশিষ্ট্য হচ্ছে এর ডাটা গ্রিড, চার্টিং, ড্র্যাগ-এন্ড-ড্রপ, এবং ফর্ম কন্ট্রোল, যা বড় আকারের ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহায়ক।
ExtJS এর লাইসেন্স একটি বাণিজ্যিক লাইসেন্স, তবে শিক্ষাগত উদ্দেশ্যে বা ট্রায়াল হিসেবে এটি ব্যবহার করা যেতে পারে।
ধাপ ১: ExtJS SDK ডাউনলোড
ExtJS এর অফিসিয়াল সাইট থেকে SDK ডাউনলোড করতে হবে। আপনি ট্রায়াল বা ফ্রি ডেভেলপমেন্ট লাইসেন্স ব্যবহার করতে পারেন।
ধাপ ২: Sencha CMD ইনস্টল করা
ExtJS অ্যাপ্লিকেশন ডেভেলপ করতে Sencha CMD একটি গুরুত্বপূর্ণ টুল। এটি কমান্ড লাইন থেকে ExtJS অ্যাপ তৈরি এবং পরিচালনা করার জন্য ব্যবহৃত হয়। Sencha CMD ইনস্টল করতে Sencha CMD Download থেকে এটি ডাউনলোড এবং ইনস্টল করুন।
ধাপ ৩: নতুন প্রোজেক্ট তৈরি করা
Sencha CMD ব্যবহার করে নতুন প্রোজেক্ট তৈরি করার জন্য নিচের কমান্ডটি ব্যবহার করুন:
sencha -sdk /path/to/extjs generate app MyApp /path/to/MyApp
এই কমান্ডটি একটি MyApp
নামে নতুন ExtJS অ্যাপ তৈরি করবে।
ধাপ ৪: অ্যাপ্লিকেশন চালানো
প্রোজেক্ট তৈরি হয়ে গেলে, নিচের কমান্ডটি দিয়ে ডেভেলপমেন্ট সার্ভার চালু করুন:
sencha app watch
তারপর আপনার ব্রাউজারে http://localhost:1841
এ গিয়ে অ্যাপ্লিকেশনটি দেখতে পারেন।
১. Grids
ExtJS এর ডাটা গ্রিড অন্যতম জনপ্রিয় উপাদান। এটি ব্যবহার করে আপনি বিশাল ডেটাসেট দেখাতে এবং ম্যানিপুলেট করতে পারেন।
Ext.create('Ext.grid.Panel', {
title: 'My Data Grid',
store: myDataStore, // ডাটা স্টোর থেকে ডেটা প্রদর্শন করা হবে
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email' }
],
height: 300,
width: 600,
renderTo: Ext.getBody()
});
২. Form Panels
ExtJS এর ফর্ম প্যানেল ব্যবহৃত হয় ব্যবহারকারীর ইনপুট গ্রহণ এবং প্রক্রিয়াকরণের জন্য।
Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [
{
xtype: 'textfield',
fieldLabel: 'Name',
name: 'name'
},
{
xtype: 'textfield',
fieldLabel: 'Email',
name: 'email'
}
],
buttons: [
{
text: 'Submit',
handler: function() {
this.up('form').getForm().submit();
}
}
]
});
৩. Charts
ExtJS বিভিন্ন ধরণের চার্ট তৈরি করতে পারে, যেমন লাইন চার্ট, বার চার্ট ইত্যাদি।
Ext.create('Ext.chart.CartesianChart', {
store: myChartStore,
axes: [{
type: 'numeric',
position: 'left',
title: 'Values'
}, {
type: 'category',
position: 'bottom',
title: 'Categories'
}],
series: [{
type: 'line',
xField: 'category',
yField: 'value'
}],
renderTo: Ext.getBody()
});
৪. Layouts
ExtJS বিভিন্ন ধরনের লেআউট সিস্টেম প্রদান করে, যা দিয়ে আপনি পেজের লেআউট ডিজাইন করতে পারেন।
Ext.create('Ext.panel.Panel', {
width: 300,
height: 200,
layout: 'hbox', // Horizontal layout
items: [
{ xtype: 'panel', title: 'Panel 1', flex: 1 },
{ xtype: 'panel', title: 'Panel 2', flex: 2 }
],
renderTo: Ext.getBody()
});
১. নতুন প্রোজেক্ট তৈরি করা
sencha generate app MyApp /path/to/MyApp
২. একটি সিম্পল গ্রিড তৈরি করা
Ext.create('Ext.grid.Panel', {
title: 'Employee Data',
store: employeeStore,
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email' }
],
renderTo: Ext.getBody()
});
৩. চার্ট তৈরি করা
Ext.create('Ext.chart.CartesianChart', {
store: chartDataStore,
series: {
type: 'line',
xField: 'date',
yField: 'sales'
},
renderTo: Ext.getBody()
});
ExtJS সাধারণত ব্যবহৃত হয়:
বিষয় | ExtJS | React | Angular |
---|---|---|---|
UI Components | সমৃদ্ধ | সীমিত | সমৃদ্ধ |
শেখার সহজতা | কঠিন | সহজ | মাঝারি |
পারফরম্যান্স | ভালো | খুব ভালো | ভালো |
ডাটা ম্যানেজমেন্ট | শক্তিশালী | সীমিত | শক্তিশালী |
লাইসেন্স | পেইড | ফ্রি | ফ্রি |
ExtJS হলো একটি শক্তিশালী এবং ফিচার-সমৃদ্ধ জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক, যা এন্টারপ্রাইজ লেভেলের ডাটা-ইন্টেনসিভ ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এর বিশাল কম্পোনেন্ট লাইব্রেরি এবং ডাটা ম্যানেজমেন্ট ফিচারগুলো বড় অ্যাপ্লিকেশন তৈরি করতে বিশেষ উপযোগী। যদিও এটি শেখার জন্য কিছু সময় এবং প্রচেষ্টা প্রয়োজন, তবে এটি বড় প্রজেক্টের জন্য একটি অত্যন্ত কার্যকর ফ্রেমওয়ার্ক।